home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / text / misc / 2b_Ort.lha / Ort / ARexx / WWSprDok.rexx < prev    next >
OS/2 REXX Batch file  |  1999-02-10  |  4KB  |  124 lines

  1. /*
  2. $ver: WWSprDok.rexx 1.1 (07.02.99) BLABLA PRODUCT
  3. © 1998-1999 Siumot/BlaBla
  4.  
  5. Ten skrypt jest przeznaczony dla programu WordWorth 6+. Sprawdza on poprawnoôê
  6. pod wzglëdem ortograficznym dokumentu nie wczytujâc go do programu Ort. Robi to
  7. w ten sposób, ûe pobiera po kolei wszystkie wyrazy z dokumentu i przekazuje je
  8. do Orta w celu sprawdzenia ich poprawnoôci. Korygowanie rozpoczyna sië od wyrazu
  9. znajdujâcego sië pod kursorem tekstowym. Jeôli w konfiguracji programu Ort jest
  10. ustawione îâczenie wyrazów a pod kursorem znajduje sië wyraz, który Ort îâczy
  11. (np. "nie") to skrypt odczyta nastëpny wyraz i do sprawdzenia przeôle poîâczone
  12. wyrazy (np. "nie lubië"). W takiej sytuacji kursor tekstowy zostanie przesuniëty
  13. na drugi wyraz. Skrypt naleûy zainstalowaê jako makro ARexx'a w programie
  14. WordWorth 6+.
  15.  
  16. UWAGA!!! Jeôli nie zainstalowaîeô tego skryptu skryptem instalacyjnym Orta,
  17.          to musisz dopisaê nastëpujâcâ linië:
  18.          ORTFILENAME=ôcieûka dostëpu/Ort
  19.      Zamiast "ôcieûka dostëpu" naleûy oczywiôcie wpisaê ôcieûkë dostëpu
  20.          do programu Ort (np. ORTFILENAME=dh2:tekst/ort/ort).
  21. */
  22.  
  23. OPTIONS RESULTS
  24.  
  25. loncz_wyr='NIE NA CO PO JAK OD W BEZ Z NAD'
  26.  
  27. IF ~SHOW('P', '2b_Ort_rexx') THEN DO
  28.    IF ORTFILENAME='ORTFILENAME' THEN DO
  29.      REQUESTNOTIFY 'Program Ort nie jest uruchomiony.'
  30.      EXIT
  31.    END
  32.    ADDRESS COMMAND 'Run >NIL: "'ORTFILENAME'" CX_POPUP'
  33.    ADDRESS COMMAND 'WaitForPort 2b_Ort_rexx'
  34. END
  35.  
  36. ADDRESS '2b_Ort_rexx' INFO Version
  37. IF RESULT<1.1 THEN DO
  38.     REQUESTNOTIFY 'Skrypt wymaga Orta w wersji 1.1+'
  39.     EXIT
  40. END
  41.  
  42. ADDRESS '2b_Ort_rexx' Prefs Join Words
  43. czylacz=RESULT
  44.  
  45. pop=''
  46. pop_licz=0
  47.  
  48. DO FOREVER
  49.  
  50.   wyraz=GetWord()
  51.  
  52.   IF wyraz==pop THEN pop_licz=pop_licz+1; ELSE pop_licz=0
  53.   IF pop_licz=2 THEN DO
  54.     ALTDOWN
  55.     CURSOR RIGHT;
  56.     ALTUP
  57.   END
  58.   ELSE IF pop_licz>2 THEN LEAVE
  59.   pop=wyraz
  60.  
  61.   IF czylacz=1 THEN DO
  62.     ADDRESS '2b_Ort_rexx' Del Punctuation 1 UPPER(wyraz)
  63.     wyraz_duzy=RESULT
  64.     IF ~(FIND(loncz_wyr,wyraz_duzy)=0) THEN DO
  65.       CURSOR LEFT
  66.       POSITION EOW
  67.       dczlon=GetWord()
  68.       IF FIND(loncz_wyr' I A RESULT',UPPER(dczlon))=0 THEN wyraz=wyraz' 'dczlon
  69.       ELSE POSITION SOW
  70.     END
  71.   END
  72.  
  73.   IF pop_licz=0 THEN DO
  74.  
  75.     ADDRESS '2b_Ort_rexx' Correction wyraz
  76.     err=RESULT
  77.     IF wyraz=='¶' THEN err=0
  78.  
  79.     IF err=1 THEN DO
  80.       ADDRESS '2b_Ort_rexx' Del Punctuation 3 wyraz
  81.       WIZARDREQ TITLE 'Ort' LABEL 'Sprawdzany wyraz: 'RESULT LABEL 'Wyraz jest niepoprawny lub nie zostaî dopisany do sîownika ORTa.' BUTTON 1 'D.Globalnie' BUTTON 2 'D.Specjal.' BUTTON 3 'Opuszczaj' BUTTON 4 '»Zatrzymaj«' BUTTON 0 'Nastëpny'
  82.       operacja=RESULT
  83.       ADDRESS '2b_Ort_rexx'
  84.       IF operacja=1 THEN Add Global wyraz
  85.       ELSE IF operacja=2 THEN Add Specialistic wyraz
  86.       ELSE IF operacja=3 THEN Add Omit wyraz
  87.       ELSE IF operacja=4 THEN LEAVE
  88.       ADDRESS
  89.     END
  90.     ELSE IF err=2 THEN DO
  91.       ADDRESS '2b_Ort_rexx' Del Punctuation 3 wyraz
  92.       WIZARDREQ TITLE 'Ort' LABEL 'Sprawdzany wyraz: 'RESULT LABEL 'Wyraz jest wyjâtkiem. Sprawdú czy jest on uûyty w poprawnej formie.' BUTTON 1 '»Zatrzymaj«' BUTTON 0 'Nastëpny'
  93.       IF RESULT=1 THEN LEAVE
  94.     END
  95.     ELSE IF err=3 THEN DO
  96.       ADDRESS '2b_Ort_rexx' Del Punctuation 3 wyraz
  97.       WIZARDREQ TITLE 'Ort' LABEL 'Sprawdzany wyraz: 'RESULT LABEL 'Wykryîem bîâd interpunkcyjny.' BUTTON 1 '»Zatrzymaj«' BUTTON 0 'Nastëpny'
  98.       IF RESULT=1 THEN LEAVE
  99.     END
  100.   END
  101.   CURSOR LEFT
  102.   POSITION EOW
  103. END
  104. EXIT
  105.  
  106. GetWord:
  107.     POSITION EOW
  108.     POSITION SOW
  109.     SHIFTDOWN
  110.     ALTDOWN
  111.     CURSOR RIGHT
  112.     ALTUP
  113.     GETTEXT
  114.     word=RESULT
  115.     pozycja=POS(' ',word)
  116.     IF pozycja>0 THEN DO
  117.       DO a=1 TO (Length(word)-pozycja+1)
  118.         CURSOR LEFT
  119.       END
  120.       word=Left(word,pozycja-1)
  121.     END
  122.     SHIFTUP
  123. RETURN word
  124.